home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 2000 November: Tool Chest / Dev.CD Nov 00 TC Disk 1.toast / Sample Code / Contributed / SpriteWorld / SpriteWorld Files / Utils / Brian's Extensions / BlitPixieScaled.h < prev    next >
Encoding:
Text File  |  2000-10-06  |  5.3 KB  |  224 lines  |  [TEXT/CWIE]

  1. ///--------------------------------------------------------------------------------------
  2. //    BlitPixieScaled.h
  3. //
  4. //    Description: This is the include file for all the BlitPixie source files.
  5. ///--------------------------------------------------------------------------------------
  6.  
  7.  
  8. #ifndef __BLITSCALEDPIXIE__
  9. #define __BLITSCALEDPIXIE__
  10.  
  11. #ifndef __SWCOMMON__
  12. #include <SWCommonHeaders.h>
  13. #endif
  14.  
  15. #ifndef __SPRITEWORLDUTILS__
  16. #include <SpriteWorldUtils.h>
  17. #endif
  18.  
  19. #ifndef __BLITPIXIEINTERFACE__
  20. #include <BlitPixieInterface.h>
  21. #endif
  22.  
  23.  
  24. #ifdef __cplusplus
  25. extern "C" {
  26. #endif
  27.  
  28. ///--------------------------------------------------------------------------------------
  29. /// Public API
  30. ///--------------------------------------------------------------------------------------
  31.  
  32. SW_FUNC OSErr SWSetSpriteScaledSize(
  33.     SpritePtr srcSpriteP,
  34.     short width,
  35.     short height);
  36.     
  37. SW_FUNC short SWGetSpriteScaledWidth(
  38.     SpritePtr srcSpriteP);
  39.     
  40. SW_FUNC short SWGetSpriteScaledHeight(
  41.     SpritePtr srcSpriteP);
  42.  
  43. ///--------------------------------------------------------------------------------------
  44. //    Function prototypes for the scaled blitters
  45. ///--------------------------------------------------------------------------------------
  46.  
  47. SW_FUNC void BlitPixie8BitScaledRectDrawProc(
  48.     FramePtr srcFrameP,
  49.     FramePtr dstFrameP,
  50.     Rect *srcRect,
  51.     Rect *dstRect);
  52.  
  53. SW_FUNC void BP8BitScaledSpriteRectDrawProc(
  54.     FramePtr srcFrameP,
  55.     FramePtr dstFrameP,
  56.     Rect *srcRect,
  57.     Rect *dstRect);
  58.  
  59. SW_FUNC void BP8BitScaledSpriteMaskDrawProc(
  60.     FramePtr srcFrameP,
  61.     FramePtr dstFrameP,
  62.     Rect *srcRect,
  63.     Rect *dstRect);
  64.  
  65. void BlitPixie8BitScaled(
  66.     register unsigned char *srcPixelP,
  67.     register unsigned char *dstPixelP,
  68.     long srcRowsToCopy,
  69.     long dstRowsToCopy,
  70.     unsigned long srcOffset,
  71.     unsigned long dstOffset,
  72.     short leftClip,
  73.     short topClip,
  74.     short bottomClip,
  75.     Boolean isBlittingToScreen);
  76.     
  77. void BlitPixieMask8BitScaled(
  78.     register unsigned char *srcPixelP,
  79.     register unsigned char *dstPixelP,
  80.     register unsigned char *maskPixelP,
  81.     long srcRowsToCopy,
  82.     long dstRowsToCopy,
  83.     unsigned long srcOffset,
  84.     unsigned long dstOffset,
  85.     short leftClip,
  86.     short topClip,
  87.     short bottomClip,
  88.     short isBlittingToScreen);
  89.  
  90. void BlitScaledLine8Bit(
  91.     register unsigned char *srcPixelP,
  92.     register unsigned char *dstPixelP,
  93.     Boolean weAreBlittingToScreen);
  94.  
  95. void BlitScaledMaskedLine8Bit(
  96.     register unsigned char *srcPixelP,
  97.     register unsigned char *maskPixelP,
  98.     register unsigned char *dstPixelP,
  99.     Boolean weAreBlittingToScreen);
  100.  
  101.  
  102. //----------------------------------16 Bit Prototypes----------------------------------
  103.  
  104.  
  105. SW_FUNC void BlitPixie16BitScaledRectDrawProc(
  106.     FramePtr srcFrameP,
  107.     FramePtr dstFrameP,
  108.     Rect *srcRect,
  109.     Rect *dstRect);
  110.  
  111. SW_FUNC void BP16BitScaledSpriteRectDrawProc(
  112.     FramePtr srcFrameP,
  113.     FramePtr dstFrameP,
  114.     Rect *srcRect,
  115.     Rect *dstRect);
  116.  
  117. SW_FUNC void BP16BitScaledSpriteMaskDrawProc(
  118.     FramePtr srcFrameP,
  119.     FramePtr dstFrameP,
  120.     Rect *srcRect,
  121.     Rect *dstRect);
  122.  
  123. void BlitPixie16BitScaled(
  124.     unsigned short *srcPixelP,
  125.     unsigned short *dstPixelP,
  126.     register long srcRowsToCopy,
  127.     register long dstRowsToCopy,
  128.     register unsigned long srcOffset,
  129.     register unsigned long dstOffset,
  130.     short leftClip,
  131.     short topClip,
  132.     short bottomClip,
  133.     short isBlittingToScreen);
  134.  
  135. void BlitPixieMask16BitScaled(
  136.     unsigned short *srcPixelP,
  137.     unsigned short *dstPixelP,
  138.     unsigned short *maskPixelP,
  139.     register long srcRowsToCopy,
  140.     register long dstRowsToCopy,
  141.     register unsigned long srcOffset,
  142.     register unsigned long dstOffset,
  143.     short leftClip,
  144.     short topClip,
  145.     short bottomClip);
  146.     
  147. void BlitScaledLine16Bit(
  148.     register unsigned short *srcPixelP,
  149.     register unsigned short *dstPixelP,
  150.     Boolean weAreBlittingToScreen);
  151.  
  152. void BlitScaledMaskedLine16Bit(
  153.     register unsigned short *srcPixelP,
  154.     register unsigned short *maskPixelP,
  155.     register unsigned short *dstPixelP);
  156.  
  157. //----------------------------------32 Bit Prototypes----------------------------------
  158.  
  159. SW_FUNC void BlitPixie32BitScaledRectDrawProc(
  160.     FramePtr srcFrameP,
  161.     FramePtr dstFrameP,
  162.     Rect *srcRect,
  163.     Rect *dstRect);
  164.  
  165. SW_FUNC void BP32BitScaledSpriteRectDrawProc(
  166.     FramePtr srcFrameP,
  167.     FramePtr dstFrameP,
  168.     Rect *srcRect,
  169.     Rect *dstRect);
  170.  
  171. SW_FUNC void BP32BitScaledSpriteMaskDrawProc(
  172.     FramePtr srcFrameP,
  173.     FramePtr dstFrameP,
  174.     Rect *srcRect,
  175.     Rect *dstRect);
  176.  
  177. void BlitPixie32BitScaled(
  178.     unsigned long *srcPixelP,
  179.     unsigned long *dstPixelP,
  180.     register long srcRowsToCopy,
  181.     register long dstRowsToCopy,
  182.     register unsigned long srcOffset,
  183.     register unsigned long dstOffset,
  184.     short leftClip,
  185.     short topClip,
  186.     short bottomClip,
  187.     short isBlittingToScreen);
  188.  
  189. void BlitPixieMask32BitScaled(
  190.     unsigned long *srcPixelP,
  191.     unsigned long *dstPixelP,
  192.     unsigned long *maskPixelP,
  193.     register long srcRowsToCopy,
  194.     register long dstRowsToCopy,
  195.     register unsigned long srcOffset,
  196.     register unsigned long dstOffset,
  197.     short leftClip,
  198.     short topClip,
  199.     short bottomClip);
  200.     
  201. void BlitScaledLine32Bit(
  202.     register unsigned long *srcPixelP,
  203.     register unsigned long *dstPixelP,
  204.     Boolean weAreBlittingToScreen);
  205.  
  206. void BlitScaledMaskedLine32Bit(
  207.     register unsigned long *srcPixelP,
  208.     register unsigned long *maskPixelP,
  209.     register unsigned long *dstPixelP);
  210.  
  211. //----------------------------------Lookup----------------------------------
  212.     
  213. void PrecomputeLookupTable(
  214.     register long srcNumPixelsPerRow,
  215.     register long dstNumPixelsPerRow,
  216.     short leftClip,
  217.     short rightClip);
  218.  
  219. #ifdef __cplusplus
  220. }
  221. #endif
  222.  
  223. #endif /* __BLITSCALEDPIXIE__ */
  224.